package com.reactim.message.connection;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;

/**
 * 连接详细信息
 * 包含连接的完整信息，用于在分布式环境中管理用户连接
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ConnectionDetails implements Serializable {
    
    private static final long serialVersionUID = 1L;
    
    /**
     * 基本连接信息
     */
    private ConnectionInfo info;
    
    /**
     * RSocketRequester的引用键
     * 由于RSocketRequester不可序列化，我们存储一个引用键
     */
    private String requesterKey;
    
    /**
     * 最后活跃时间
     */
    private Long lastActiveTime;
    
    /**
     * 连接ID，用于唯一标识一个连接
     */
    private String connectionId;
}